#pragma once
#include "e2d/core/pch.h"
#include "e2d/core/Scene.h"
#include "e2d/core/render/components.h"

namespace e2d
{
	struct URPRenderer
	{
		std::shared_ptr<e2d::Scene> m_Scene;

		URPRenderer();

		void SetInst(std::shared_ptr<e2d::Scene> scene);

		void BindingPass();

		void BeginLightEffect();

		void OnLoad();

		void OnRender();

		void ForwardRenderPassFixed(const std::string& key, std::shared_ptr<fxcc::graph::opengl3::Effect3d> effect);

		void ForwardRenderPassSkinned(const std::string& key, std::shared_ptr<fxcc::graph::opengl3::Effect3d> effect);

		void OnRenderRuntime();
	};
};